# coding: utf-8
# @author  : lin
# @time    : 2019/8/2
from db_model.model_dao import VegetablePriceModelDao, VegetableModelDao, PredictModelModelDao, \
    create_all_table, drop_all_table, UserModelDao, GroupPowerModelDao, GroupModelDao

import pandas as pd
import time
import os
import csv
import pathlib
import time
import requests
from lxml import etree

create_all_table()

# 用户
GroupModelDao.add_group('普通用户')
GroupModelDao.add_group('管理员')
GroupModelDao.add_group('超级管理员')

# 添加一个超级用户
UserModelDao.add_user('SuperVisitor', 'veg_root#2019', 'veg_root@test.com')
UserModelDao.set_group_id('SuperVisitor', 3)

# 模型信息
PredictModelModelDao.add_model('bp', 'bp神经网络')
PredictModelModelDao.add_model('lstm', 'lstm神经网络')
PredictModelModelDao.add_model('arima', 'arima时间序列')

# 用户权限表
GroupPowerModelDao.add_one_power(1, '/user/register')
GroupPowerModelDao.add_one_power(1, '/user/login')
GroupPowerModelDao.add_one_power(1, '/user/alter_pwd')
GroupPowerModelDao.add_one_power(1, '/user/register/send_email')
GroupPowerModelDao.add_one_power(1, '/user/vegetable/k_line')
GroupPowerModelDao.add_one_power(1, '/user/alter_pwd/send_email')
GroupPowerModelDao.add_one_power(1, '/user/vegetable/information')
GroupPowerModelDao.add_one_power(1, '/user/vegetable/get_all_vegetables')
GroupPowerModelDao.add_one_power(1, '/model/information')
GroupPowerModelDao.add_one_power(1, '/model/predict')
GroupPowerModelDao.add_one_power(1, '/model/get_accuracy')
GroupPowerModelDao.add_one_power(1, '/user/vegetable/today_price')

GroupPowerModelDao.add_one_power(2, '/user/register')
GroupPowerModelDao.add_one_power(2, '/user/login')
GroupPowerModelDao.add_one_power(2, '/user/alter_pwd')
GroupPowerModelDao.add_one_power(2, '/user/register/send_email')
GroupPowerModelDao.add_one_power(2, '/user/vegetable/k_line')
GroupPowerModelDao.add_one_power(2, '/user/alter_pwd/send_email')
GroupPowerModelDao.add_one_power(2, '/user/vegetable/information')
GroupPowerModelDao.add_one_power(2, '/user/vegetable/get_all_vegetables')
GroupPowerModelDao.add_one_power(2, '/model/information')
GroupPowerModelDao.add_one_power(2, '/model/predict')
GroupPowerModelDao.add_one_power(2, '/model/get_accuracy')
GroupPowerModelDao.add_one_power(2, '/model/network_train')
GroupPowerModelDao.add_one_power(2, '/manager/get_user_data')
GroupPowerModelDao.add_one_power(2, '/manager/get_user_amount')
GroupPowerModelDao.add_one_power(2, '/manager/alter_vegetable')
GroupPowerModelDao.add_one_power(2, '/manager/set_user_state')
GroupPowerModelDao.add_one_power(2, '/user/vegetable/today_price')

GroupPowerModelDao.add_one_power(3, '/user/register')
GroupPowerModelDao.add_one_power(3, '/user/login')
GroupPowerModelDao.add_one_power(3, '/user/alter_pwd')
GroupPowerModelDao.add_one_power(3, '/user/register/send_email')
GroupPowerModelDao.add_one_power(3, '/user/vegetable/k_line')
GroupPowerModelDao.add_one_power(3, '/user/alter_pwd/send_email')
GroupPowerModelDao.add_one_power(3, '/user/vegetable/information')
GroupPowerModelDao.add_one_power(3, '/user/vegetable/get_all_vegetables')
GroupPowerModelDao.add_one_power(3, '/model/information')
GroupPowerModelDao.add_one_power(3, '/model/predict')
GroupPowerModelDao.add_one_power(3, '/model/get_accuracy')
GroupPowerModelDao.add_one_power(3, '/model/network_train')
GroupPowerModelDao.add_one_power(3, '/manager/get_user_data')
GroupPowerModelDao.add_one_power(3, '/manager/get_user_amount')
GroupPowerModelDao.add_one_power(3, '/manager/alter_vegetable')
GroupPowerModelDao.add_one_power(3, '/manager/set_user_state')
GroupPowerModelDao.add_one_power(3, '/root/add_manager')
GroupPowerModelDao.add_one_power(3, '/root/delete_manager')
GroupPowerModelDao.add_one_power(3, '/user/vegetable/today_price')

# 添加蔬菜信息
veg_all_data = list()
veg_all_data.append(('矮脚白菜',
                     '矮脚白菜营养丰富，除含糖类、脂肪、蛋白质、粗纤维、钙、磷、铁、胡萝卜素、硫胺素、尼克酸外，尚含丰富的维生素，'
                     '其维生素C、核黄素的含量比苹果、梨分别高5倍、4倍。微量元素锌高于肉类，并含有能抑制亚硝酸胺吸收的钼。其中维生素C'
                     '可增加机体对感染的抵抗力，用于坏血病、牙龈出血、各种急慢性传染病的防治。', ' '))
veg_all_data.append(('白豆角',
                     '白豆角是豆角的一种。颜色比普通豆角白得多,较胖的长条状。豆角是蔷薇目豆科豇豆属的一年生蔬菜。富含蛋白质、胡萝卜素、'
                     '营养价值高,口感好,是我国北方广泛栽培的大众化蔬菜之一,其普及程度在各类蔬菜中居第一位。豆角的适应性强,既可以露地栽培,'
                     '也可以保护地种植,同时还可以周年生产，四季上市。', ' '))
veg_all_data.append(('白萝卜',
                     '白萝卜，根茎类蔬菜，十字花科萝卜属植物。白萝卜是一种常见的蔬菜，生食熟食均可，其味略带辛辣味。现代研究认为，白萝卜含芥子油、'
                     '淀粉酶和粗纤维，具有促进消化，增强食欲，加快胃肠蠕动和止咳化痰的作用。中医理论也认为该品味辛甘，性凉，入肺胃经，为食疗佳品，'
                     '可以治疗或辅助治疗多种疾病，本草纲目称之为“蔬中最有利者”。', ' '))
veg_all_data.append(('百灵菇',
                     '百灵菇一般指白灵菇。白灵菇又名翅鲍菇、百灵芝菇、克什米尔神菇、阿魏蘑、阿威侧耳、阿魏菇、雪山灵芝、鲍鱼菇。白灵肉质细嫩，'
                     '味美可口，含有丰富的蛋白质、脂肪、碳水化合物等多种营养成分，具有较高的食用价值，长期食用能增强人体的免疫功能，'
                     '被誉为“草原上的牛肝菌”和侧耳，颇受消费者的青睐。', ' '))
veg_all_data.append(('包心芥菜',
                     '包心芥菜，Brassica juncea (L.) Czerniak.，十字花科芸苔属植物。一、二年生草本植物，原产于亚洲。包心芥菜营养丰富，'
                     '每百克含蛋白质0.9~2.8克，碳水化合物2.9~4.2克，粗纤维0.4~1克，维生素C83~94毫克，钙、铁含量特别高，并具有抗癌、'
                     '清热、利尿、养胃、解毒，降压、降脂等功能。', ' '))
veg_all_data.append(('本地菜心',
                     '广东菜心又称菜薹(tái)。十字花科芸薹属一、二年生草本。我国广东、广西一带的特产，当地能周年生产与供应。主薹与侧薹供食，'
                     '品质脆嫩，风味独特，营养丰富，每百克食用部分含维生素C79毫克，并有清热解毒、杀菌、降血脂的功能。可炒食、汤用。由于菜心生长周期短，'
                     '每年可收获9-10茬，经济效益高。', ' '))
veg_all_data.append(('本地芹菜',
                     '芹菜，属伞形科植物。有水芹、旱芹、西芹三种，功能相近，药用以旱芹为佳。旱芹香气较浓，称"药芹"。但是和香菜不是一个种，'
                     '芹菜富含蛋白质、碳水化合物、胡萝卜素、B族维生素、钙、磷、铁、钠等，同时，具有有平肝清热，祛风利湿，除烦消肿，凉血止血，'
                     '解毒宣肺，健胃利血、清肠利便、润肺止咳、降低血压、健脑镇静的功效。', ' '))
veg_all_data.append(('槟芋',
                     '香芋，又称地栗子、黄栗芋，淡味、灰白色，常用于中菜或中式甜品，其地方品种槟榔芋常被称为香芋。香芋营养丰富，淀粉、'
                     '蛋白质及矿物质含量均较高。据报道，每100g香芋中含淀粉约21g、粗蛋白3. 5g、钙含量约为52mg、硒2. 2mg、维生素C约7mg。'
                     '香芋烹煮方法种，烧、炒、炖皆可，用其与鸡肉、猪肉一起炖、烧，其味香而不腻，酥而不烂。', ' '))
veg_all_data.append(('菠菜',
                     '菠菜有“营养模范生”之称，它富含类胡萝卜素、维生素C、维生素K、矿物质(钙质、铁质等)、辅酶Q10等多种营养素。其可以经常用来烧汤，'
                     '凉拌，单炒，和配荤菜合炒或垫盘。以色泽浓绿，根为红色，不着水，茎叶不老，无抽苔开花，不带黄烂叶者为佳。功能主治：养血，'
                     '止血，敛阴，润燥。治衄血，便血，坏血病，消渴引饮，大便涩滞。', ' '))
veg_all_data.append(('茶树菇',
                     '茶树菇营养丰富，含有人体所需的18种氨基酸，特别是含有人体所不能合成的8种氨基酸、葡聚糖、菌蛋白、碳水化合物等营养成分，'
                     '其菇柄脆嫩爽口，味道清香。还有丰富的B族维生素和多种矿物质元素，如铁、钾、锌、硒等元素都高于其它菌类。经检验，'
                     '每100克干品中含蛋白质28.9克，氨基酸含量高达25.56克。', ' '))
veg_all_data.append(('春菜',
                     '春菜是莴苣属的一种蔬菜。莴苣的很多别称，比如，莴笋、春菜、生笋、千金菜、茎用莴苣、青笋、莴菜、香马笋，'
                     '是莴苣的不同部位的俗称。食疗作用:莴笋味甘、性凉、苦，入肠、胃经；具有利五脏，通经脉，清胃热，清热利尿的功效；'
                     '用于小便不利、尿血、乳汁不通等症。', ' '))
veg_all_data.append(('葱',
                     '葱，为百合科葱属多年生草本植物。营养价值:葱含有蛋白质、碳水化合物等多种维生素及矿物质，对人体有很大益处。解热，'
                     '祛痰。葱的挥发油等有效成分，具有刺激身体汗腺，达到发汗散热之作用。促进消化吸收。葱还有刺激机体消化液分泌的作用，'
                     '能够健脾开胃，增进食欲。抗菌，抗病毒。葱中所含大蒜素，具有明显的抵御细菌、病毒的作用。', ' '))
veg_all_data.append(('大肉姜',
                     '大肉姜---是产量最高的的一个生姜品种。主要分布在山东的青州经济开发区，栽培历史悠久。喜高温忌寒冷，畏强烈光照，'
                     '喜阴凉湿润环境。姜分蘖力强，一般分生16-20条，肉质肥嫩，具特殊香辣味，是家肴不可少的调味品，较耐贮藏，适合作各种加工：姜干、'
                     '姜粉、姜汁、姜酒、糖渍及酱渍等多种食品，有健胃祛寒和发汗功效。', ' '))
veg_all_data.append(('大蒜',
                     '大蒜又叫蒜头、大蒜头、胡蒜、葫、独蒜、独头蒜，是蒜类植物的统称。半年生草本植物，百合科葱属，以鳞茎入药。'
                     '有浓烈的蒜辣气，味辛辣。有刺激性气味，可食用或供调味，亦可入药。地下鳞茎分瓣，按皮色不同分为紫皮种和白皮种。'
                     '大蒜是秦汉时从西域传入中国，经人工栽培繁育,具有抗癌功效，深受大众喜食。', ' '))
veg_all_data.append(('大芋头',
                     '芋头又名芋艿，为天南星科多年生草本植物芋的地下肉质球茎。芋头口感细软，绵甜香糯，营养价值近似于土豆，又不含龙葵素，'
                     '易于消化而不会引起中毒。是一种很好的碱性食物。芋头可蒸食或煮食，但必须彻底蒸熟或煮熟。营养功效：芋头性平，味甘、'
                     '辛，有小毒。能益脾胃，调中气，化痰散结。可治少食乏力、痕疡结核、久痢便血、痈毒等病症。', ' '))
veg_all_data.append(('粉葛',
                     '粉葛是豆科葛属植物。药用：粉葛以根入药，中药名为葛根，主要含有黄酮类及皂苷等成分；增加脑及冠状血管血流量，有益心肌代谢，'
                     '抗心肌缺血，抗高血压，抗心律失常，降血脂，益智，解痉，解热，降血糖。食疗：粉葛是一种营养独特、药食兼优的绿色食品，'
                     '具有抗炎解热、扩张血管、清心明目、抗肿瘤及清除氧自由基等方面的功效。', ' '))
veg_all_data.append(('荷兰豆',
                     '荷兰豆是豆科豌豆属，一年生缠绕草本，高90～180cm。17世纪，荷兰人凭借强大的海上舰队统治了东南亚的台湾和南洋诸岛，'
                     '从世界各地带来各种舶来品，于是，当地居民开始称之为荷兰豆。荷兰豆还含有一种其特有的植物凝集素、止杈素及赤霉素A20等，'
                     '这些物质对增强人体新陈代谢功能有重要作用。', ' '))
veg_all_data.append(('红葱头',
                     '红葱头又名红葱、圆葱、细香葱、香葱，属百合科葱属葱种分葱亚种的一个栽培类型。葱属提取物具有抗菌消炎，预防心脑血管疾病，'
                     '诱导癌细胞凋亡等多种功能。葱属提取物主要含有大量硫醚类、醛类、酚类、醇类等生物活性物质。 具有抑菌、降血糖、抑制血小板凝聚、'
                     '降血脂等生理功能。其已被专家们发现至少有6种抗癌防衰老降脂作用的成份。', ' '))
veg_all_data.append(('红尖椒',
                     '红尖椒中含有蛋白质、脂肪、碳水化合物、膳食纤维以及胡萝卜素，维生素和一些微量元素，营养价值十分丰富。红尖椒中含有丰富的维生素c，'
                     '红尖椒中的维生素c对我们的健康有非常多的用处；另外红尖椒中含有丰富的维生素e，维生素e能够帮助我们延缓衰老，所以具有一定的美容防衰老的功效。', ' '))
veg_all_data.append(('红萝卜',
                     '“红”萝卜是为“十字花科萝卜属”，又名“大红萝卜”、“胭脂萝卜”“东北红萝卜”，。原产于我国，各地均有栽培，东北是我国大红萝卜主要产区，'
                     '因气候及品种等因素形成了其极高的营养价值和药用价值。红萝卜性微温，入肺、胃二经，具有清热、解毒、利湿、散瘀、健胃消食、化痰止咳、'
                     '顺气、利便、生津止渴、补中、安五脏等功能。', ' '))
veg_all_data.append(('红薯',
                     '红薯一般指番薯。番薯是一种营养齐全而丰富的天然滋补食品，富含蛋白质、脂肪、多糖、磷、钙、钾、胡萝卜素、维生素A、维生素C、'
                     '维生素E、维生素B1、维生素B2和8种氨基酸。这些物质，对促进人的脑细胞和分泌激素的活性，增强人体抗病能力，提高免疫功能，'
                     '延缓智力衰退和机体衰老起着重要作用。日本卫生部已将其列为食疗的重要食品。', ' '))
veg_all_data.append(('葫芦瓜',
                     '葫芦瓜一般指瓠瓜。瓠瓜，为葫芦科葫芦属一年生蔓性草本。瓠瓜幼果味清淡，品质柔嫩，适于煮食。 在河北一带的某些地区，'
                     '“瓠瓜”专指西葫芦，“瓠子”则用来专指瓠瓜。 中国古时以其老熟干燥果壳作容器，也作药用。瓠瓜和葫芦瓜对机体的生长发育和维'
                     '持机体的生理功能均有一定的作用，但与其他蔬菜相比，其营养价值较低。', ' '))
veg_all_data.append(('节瓜',
                     '节瓜是葫芦科，冬瓜属冬瓜的变种，一年生蔓生或架生草本植物；茎被黄褐色硬毛及长柔毛，有棱沟。分布于中国南方，尤其广东、'
                     '广西普遍栽培。节瓜喜欢高温，对日照长短要求不严格。喜湿润，不耐涝。以土层深厚、排水良好、肥沃而疏松的壤土或沙壤土最为适宜。'
                     '土壤的pH值以中性或微碱性为好。瓜的果实在夏季可作蔬菜食用。', ' '))
veg_all_data.append(('芥兰',
                     '芥兰一般指芥蓝。芥蓝栽培历史悠久，是中国的特产蔬菜之一。芥蓝的菜苔柔嫩、鲜脆、清甜、味鲜美，以肥嫩的花薹和嫩叶供食用，'
                     '是甘蓝类蔬菜中营养比较丰富的一种蔬菜，可炒食、汤食，或作配菜。芥蓝含纤维素、糖类等。其味甘，性辛，具备利水化痰、解毒祛风、'
                     '除邪热、解劳乏、清心明目等功效。', ' '))
veg_all_data.append(('金针菇',
                     '金针菇在自然界广为分布，在中国北起黑龙江，南至云南，东起江苏，西至新疆均适合金针菇的生长。据测定，金针菇氨基酸的含量非常丰富，'
                     '高于一般菇类，尤其是赖氨酸的含量特别高，赖氨酸具有促进儿童智力发育的功能。金针菇干品中含蛋白质8.87%，碳水化合物60.2%，'
                     '粗纤维达7.4%，经常食用可防治溃疡病。', ' '))
veg_all_data.append(('韭菜',
                     '韭菜别名：丰本、草钟乳、起阳草、懒人菜、长生韭、壮阳草、扁菜等。叶、花葶和花均作蔬菜食用；种子等可入药，具有补肾，'
                     '健胃，提神，止汗固涩等功效。在中医里，有人把韭菜称为“洗肠草”。功效:补肾；温中行气；散瘀；解毒。主肾虚阳痿；里寒腹痛；'
                     '噎膈反胃；胸痹疼痛；衄血；吐血；尿血；痢疾；痔疮；痈疮肿毒；漆疮；跌打损伤。', ' '))
veg_all_data.append(('韭菜花',
                     '韭花又名韭菜花，是秋天里韭白上生出的白色花簇。韭菜花，简称韭花，也叫韭苔。韭花食之能生津开胃，增强食欲，促进消化。'
                     ' 韭花富含钙、磷、铁、胡萝卜素、核黄素、抗坏血酸等有益健康的成分。韭菜花不仅好吃还具有很多药用价值，据了解韭菜花性温，'
                     '含有多种维生素和粗纤维，具有一定的温阳补肾的效果。', ' '))
veg_all_data.append(('韭黄',
                     '韭黄是韭菜通过培土、遮光覆盖等措施，在不见光的环境下经软化栽培后生产的黄化韭菜。韭黄以幼嫩的叶供人们食用，不但营养丰富，'
                     '还具有一定的食疗保健作用，因此为人们所喜爱。主要价值:食用菜蔬。韭黄颜色鲜黄、风味独特，口感清爽，营养丰富。', ' '))
veg_all_data.append(('苦瓜',
                     '苦瓜，葫芦科苦瓜属植物。清热解毒：苦瓜能泄去心中烦热，排除体内毒素。苦瓜最好的吃法还是凉拌。凉拌能够很好地保留苦瓜中所含有的维生素。'
                     '如果用清炒的方法，会使这些维生素在清炒的过程中大量丢失，而且清炒后油的含量比较高，人们食用后会摄入较多的油脂，不能起到清凉败火的作用。', ' '))
veg_all_data.append(('莲藕',
                     '莲藕原产于印度，很早便传入中国。莲藕属木兰亚纲，山龙野目。喜温，不耐阴，不宜缺水，大风。莲藕微甜而脆，可生食也可做菜，'
                     '而且药用价值相当高，它的根根叶叶，花须果实，无不为宝，都可滋补入药。用莲藕制成粉，能消食止泻，开胃清热，滋补养性，预防内出血，'
                     '是妇孺童妪、体弱多病者上好的流质食品和滋补佳珍。', ' '))
veg_all_data.append(('芦笋',
                     '芦笋是天门冬科天门冬属多年生草本植物石刁柏的幼苗，可供蔬食。芦笋含有丰富的维生素B、维生素A以及叶酸、硒、铁、锰、锌等微量元素。'
                     '芦笋具有人体所必需的各种氨基酸。芦笋含硒量高于一般蔬菜，与含硒丰富的蘑菇接近, 甚至可与海鱼、海虾等的含硒量媲美。', ' '))
veg_all_data.append(('马蹄',
                     '马蹄(多年生草本植物)一般指荸荠(荸荠属植物)。本产于中国，广布于全世界，全国各地都有栽培，以热带和亚热带地区为多。荸荠皮色紫黑，'
                     '肉质洁白，味甜多汁，清脆可口，既可做水果生吃，又可做蔬菜食用。球茎富淀粉，供生食、熟食或提取淀粉，味甘美；也供药用，开胃解毒，消宿食，健肠胃。', ' '))
veg_all_data.append(('南瓜',
                     '南瓜，葫芦科南瓜属的一个种，一年生蔓生草本植物。原产墨西哥到中美洲一带，世界各地普遍栽培。明代传入中国，现南北各地广泛种植。'
                     '南瓜的果实作肴馔，亦可代粮食。全株各部又供药用，种子含南瓜子氨基酸，有清热除湿、驱虫的功效，对血吸虫有控制和杀灭的作用，藤有清热的作用，'
                     '瓜蒂有安胎的功效，根治牙痛。', ' '))
veg_all_data.append(('茄瓜',
                     '茄瓜，又名人参果，香瓜茄，亦可称作仙果、香艳梨、艳果。茄瓜果实形状多似心脏形和椭圆形，成熟时果皮呈金黄色，有的带有紫色条纹，'
                     '有淡雅的清香，果肉清爽多汁，风味独特。除了具有高蛋白、低糖、低脂外，还富含维生素C，以及多种人体所必需的微量元素，尤其是硒、'
                     '钙的含量大大地高于其他的果实和蔬菜。', ' '))
veg_all_data.append(('青瓜',
                     '青瓜又名黄瓜，属葫芦科植物。广泛分布于中国各地，并且为主要的温室产品之一。广东地区把青瓜和黄瓜分属两个不同品种，'
                     '青瓜从嫩至老均保持青绿色，黄瓜老时会呈现黄色。黄瓜味甘，甜、性凉、苦、无毒，入脾、胃、大肠；具有除热，利水利尿，'
                     '清热解毒的功效；主治烦渴，咽喉肿痛，火眼，火烫伤。还有减肥功效。', ' '))
veg_all_data.append(('青尖椒',
                     '尖椒，又名辣椒，是一种茄科、辣椒属的植物。青辣椒可以作为蔬菜食用，干红辣椒则是许多人都喜爱的调味品。辣椒不但能给人带来好口感，'
                     '还含有丰富的维生素C、叶酸、镁及钾等营养成分。还有温中散寒、开胃消食的功效。 辣椒素是辣椒的辣味来源，不但具有抗炎及抗氧化作用，'
                     '还有助于降低心脏病和某些肿瘤增长的风险。', ' '))
veg_all_data.append(('青皮冬瓜',
                     '大青皮冬瓜是广东省广州市地方品种，该品种植株蔓生，生长势强，叶掌状。晚熟，春种生长期175～185天，适于春、夏季露地栽培。'
                     '适宜在广州市郊区种植。大青皮冬瓜富含花青素，抗氧化，可以消除人体自由基，令毛细血管恢复弹性。大青皮冬瓜味平性亮，能利水消肿，'
                     '有利尿功效，清热降火，降暑生津。', ' '))
veg_all_data.append(('日本豆腐',
                     '日本豆腐又称鸡蛋豆腐、玉子豆腐、蛋玉晶，其质感类似豆腐。它以鸡蛋为主要原料，辅之纯水、植物蛋白、天然调味料等，'
                     '经科学配方精制而成，具有豆腐之爽滑鲜嫩，鸡蛋之美味清香，以其高品质、美味、营养、健康、方便和物有所值在消费者中享有盛誉。'
                     '选择不同口味调料，还可生产麻、辣、酸、甜等多种风味。', ' '))
veg_all_data.append(('沙葛',
                     '沙葛一般指豆薯。豆薯是豆科，豆薯属草质缠绕藤本植物，根块状，纺锤形或扁球形，肉质。豆薯块根可生食或熟食；'
                     '种子含鱼藤酮可作杀虫剂，防治蚜虫有效。豆薯食用部分为肥大的块根，其皮薄而韧、肉质洁白、嫩脆、香甜多汁，食用无渣，'
                     '且略带豆腥味，生食或熟食后具有生津止渴、清凉去热、解酒毒、降血压等功效。', ' '))
veg_all_data.append(('沙姜',
                     '沙姜为一年生草本植物，其性耐旱耐瘠怕浸，含碳质多，松软疏水，宜于沙姜生长。 多为圆形或近圆形的横切片，直径1～2cm，'
                     '厚0.3～0.5cm。外皮浅褐色或黄褐色，皱缩，有的有根痕或残存须根；切面类白色，粉性，常鼓凸。质脆，易折断。气香特异，'
                     '味辛辣。功能主治行气温中，消食，止痛。用于胸膈胀满，脘腹冷痛，饮食不消。', ' '))
veg_all_data.append(('绍菜',
                     '大白菜是一种原产于中国的蔬菜，又称“结球白菜”、“包心白菜”、“黄芽白”、“胶菜”等，在粤语里叫“绍菜”。大白菜与小白菜是近亲，'
                     '同属芸薹一种，和原产地中海沿岸的圆白菜也较近，同属十字花科芸薹属。目前国内的大白菜品种中，以黄心菜食用量居多，因其口感好，'
                     '口味佳，深受老百姓喜爱。', ' '))
veg_all_data.append(('生菜',
                     '生菜，又称鹅仔菜、唛仔菜、莴仔菜，属菊科莴苣属。生菜性质甘凉，因其茎叶中含有莴苣素，故味微苦，有清热提神、'
                     '镇痛催眠、降低胆固醇、辅助治疗神经衰弱等功效。生菜中含有甘露醇等有效成分，有利尿和促进血液循环、清肝利胆及养胃的功效。'
                     '生菜营养含量丰富，含有大量β胡萝卜素、抗氧化物、维生素B1、B6 、维生素E、维生素C。', ' '))
veg_all_data.append(('丝瓜',
                     '丝瓜中含防止皮肤老化的B族维生素，增白皮肤的维生素C等成分，能保护皮肤、消除斑块，使皮肤洁白、细嫩，是不可多得的美容佳品，'
                     '故丝瓜汁“美人水”之称。抗坏血病：丝瓜中维生素C含量较高，可用于抗坏血病及预防各种维生素C缺乏症。美容：丝瓜藤茎的汁液具有保持皮肤弹性的特殊功能，'
                     '能美容去皱。', ' '))
veg_all_data.append(('蒜肉',
                     '中医认为大蒜味辛、性温，入脾、胃、肺，暖脾胃，消症积，解毒、杀虫的功效。蒜中含硫挥发物43种，硫化亚磺酸(如大蒜素)酯类13种、'
                     '氨基酸9种、肽类8种、甙类12种、酶类11种。另外，蒜氨酸是大蒜独具的成分，当它进入血液时便成为大蒜素，'
                     '这种大蒜素即使稀释10万倍仍能在瞬间杀死伤寒杆菌、痢疾杆菌、流感病毒等。', ' '))
veg_all_data.append(('蒜头',
                     '大蒜又叫蒜头、大蒜头、胡蒜、葫、独蒜、独头蒜，是蒜类植物的统称。大蒜性温，味辛平；入脾、胃、肺经。'
                     '阴虚火旺及慢性胃炎溃疡病患者应慎食 外用能引起皮肤发红，灼热，起泡，故不宜敷之过久，皮肤过敏者慎用。大蒜有抗菌消炎的作用，'
                     '可保护肝脏，调节血糖，保护心血管，抗高血脂和动脉硬化，抗血小板凝集。', ' '))
veg_all_data.append(('蒜心',
                     '蒜心就是蒜苔。蒜苔含有糖类、粗纤维、胡萝卜素、维生素A、维生素B2、维生素C、尼克酸、钙、磷、等成分，'
                     '其中含有的粗纤维，可预防便秘。蒜苔中含有丰富的维生素C具有明显的降血脂及预防冠心病和动脉硬化的作用，'
                     '并可防止血栓的形成。它能保护肝脏，诱导肝细胞脱毒酶的活性，可以阻断亚硝胺致癌物质的合成，从而预防癌症的发生。', ' '))
veg_all_data.append(('甜墨豆', '墨豆对年轻女性来说，有美容养颜的功效。墨豆含有丰富的维生素，其中E族和B族维生素含量很高，'
                            '维生素E的含量比肉类高几倍，维生素E是一种相当重要的保持青春健美的物质。', ' '))
veg_all_data.append(('土豆',
                     '土豆又名马铃薯，属茄科一年生草本植物，块茎可供食用，是全球第四大重要的粮食作物，仅次于小麦、'
                     '稻谷和玉米。马铃薯蛋白质营养价值高。马铃薯块茎含有2%左右的蛋白质，薯干中蛋白质含量为8%～9%。'
                     '据研究，马铃薯的蛋白质营养价值很高，其品质相当于鸡蛋的蛋白质，容易消化、吸收，优于其他作物的蛋白质。', ' '))
veg_all_data.append(('娃娃菜',
                     '娃娃菜是近几年从日本引进的一款蔬菜新品种。从种类看，娃娃菜和白菜都属于十字花科蔬菜，从成分上来讲，'
                     '大白菜的营养价值并不逊于娃娃菜，而且性价比更高。娃娃菜是种“超小白菜”，但它的钾含量却比白菜高很多。'
                     '钾是维持神经肌肉应激性和正常功能的重要元素，经常有倦怠感的人多吃点娃娃菜可有不错的调节作用。', ' '))
veg_all_data.append(('莴笋',
                     '莴笋又称莴苣。莴苣原产地在地中海沿岸，大约在五世纪传入中国。地上茎可供食用，茎皮白绿色，茎肉质脆嫩，'
                     '幼嫩茎翠绿，成熟后转变白绿色。主要食用肉质嫩茎，可生食、凉拌、炒食、干制或腌渍，嫩叶也可食用。茎、叶中含莴苣素，'
                     '内含莴苣素。味苦，有镇痛的作用。', ' '))
veg_all_data.append(('西红柿',
                     '西红柿，学名叫番茄。它既含有丰富多样的营养，又有着美观迷人的外形；它既是菜中佳味，又是果中美品，有多种功用，'
                     '被称为神奇的菜中之果。西红柿所含的有机酸，可软化血管，促进钙、铁元素吸收，对肠道粘膜有收敛作用。所含苹果酸和柠檬酸，'
                     '可帮助胃液消化脂肪和蛋白质。所含糖类多半为果糖和葡萄糖，既易于吸收，又养心护肝。', ' '))
veg_all_data.append(('西兰花',
                     '西蓝花，俗称青花菜。西蓝花中的营养成分，不仅含量高，而且十分全面，主要包括蛋白质、碳水化合物、脂肪、矿物质、'
                     '维生素C和胡萝卜素等。据分析，每100克新鲜西蓝花的花球中，含蛋白质3.5克~4.5克，是菜花的3倍、番茄的4倍。'
                     '很多人以为番茄、辣椒等是含维生素C最丰富的蔬菜，其实，西蓝花的维生素C含量比它们都要高。', ' '))
veg_all_data.append(('西芹',
                     '西芹，伞形科植物，它既不是根菜，也不属于粘滑食物，它营养丰富，富含蛋白质、碳水化合物、'
                     '矿物质及多种维生素等营养物质。西芹食用方法较多，可生食凉拌，可荤素炒食、做汤、做馅、做菜汁、腌'
                     '渍、速冻等。尤其其汁可直接和面制成面条或饺子皮，极有特色。芹菜叶中所含的胡萝卜素和维生素C比茎多，因此吃时不要把能吃的嫩叶扔掉。', ' '))
veg_all_data.append(('西生菜',
                     '西生菜，因从西方引进，故名西生菜。西生菜为莴苣属、菊科，叶用莴苣以新鲜嫩叶供食，外销以结球为主。性'
                     '味、归经:甘、苦，凉。归胃、大肠经。功效: 利尿，通乳，畅通呼吸道，神经镇定剂。临床应用: 西生菜用於治尿血和孕妇缺乳。'
                     '用量、用法: 鲜吃，作生菜沙律，或煮汤、煮菜吃。', ' '))
veg_all_data.append(('鲜百合',
                     '百合的功效: 润肺止咳，清心安神。治肺费久嗽，咳唾痰血；热病后余热来清，虚烦惊悸，神志恍惚；脚气浮肿。(1)'
                     '润肺止咳：用于肺燥或阴虚之咳嗽、咯血，常配川贝。(2)清心安神：用于热性病后余热不清、虚烦不眠、神志恍惚，常配地黄。', ' '))
veg_all_data.append(('鲜虫草',
                     '冬虫夏草仅仅是我国190多种虫草中的一种，主产于青藏高原上，又简称“虫草”。冬虫夏草是我国传统的名贵药膳滋补品，'
                     '它性平味甘，具有补肺肾、止咳嗽、益虚损、养精气之功能。据临床研究报道，冬虫夏草具有十大功能具有养肺阴，补肾阳、'
                     '止咳化痰、抗癌防老的功效，为平补阴阳之品，诸无所忌。可用于肺痨咳血，阳痿遗精等症。', ' '))
veg_all_data.append(('鲜冬菇',
                     '冬菇含有丰富的蛋白质和多种人体必需的微量元素。冬菇嫩滑香甜，干菇美味可口，香气横溢，烹、煮、炸、炒皆宜，'
                     '荤素佐配均能成为佳肴。冬菇还是防治感冒、降低胆固醇、防治肝硬化和具有抗癌作用的保健食品。', ' '))
veg_all_data.append(('鲜淮山',
                     '淮山又名淮山药。中国医书认为淮山"主伤中补虚、除寒热邪气、补中益气力、长肌肉，久服耳目聪明"。'
                     '许多古典医藉都对淮山作了很高的评价。在民间，淮山是人们所公认的滋补佳品。它含有蛋白质、糖类、维生素、脂肪、'
                     '胆碱、淀粉酶、粘液汁等成分。还含有碘、钙、铁、磷等人体不可缺少的无机盐和微量元素，而磷的含量比红薯多一倍，比土豆多二倍。', ' '))
veg_all_data.append(('鲜人参',
                     '活参参体为黄白色(部分有轻微锈斑)，带有收获时的微量泥土，打开包装即有人参特有的香气。其它“保鲜参”、'
                     '“鲜人参”则是：多是塑料袋包装，三无产品，保鲜期长达一年至数年，产品刮皮洁白(经短时酒泡则略黄)，开袋即有酸味或酒味。', ' '))
veg_all_data.append(('小塘白菜',
                     '小塘白菜又名上海青，是上海一带的华东地区最常见的小白菜品种。江浙一带又称其为青菜或小青菜。上海青可以保持血管弹性，'
                     '提供人体所需矿物质、维生素，其中的维生素B2尤为丰富，有抑制溃疡的作用，经常食用对皮肤和眼睛的保养有很好的效果。'
                     '富含纤维，可以有效改善便秘。', ' '))
veg_all_data.append(('洋葱头',
                     '洋葱含有前列腺素A，能降低外周血管阻力，降低血黏度，可用于降低血压、提神醒脑、缓解压力、预防感冒。此外，'
                     '洋葱还能清除体内氧自由基，增强新陈代谢能力，抗衰老，预防骨质疏松，是适合中老年人的保健食物。洋葱中的营养成分十分丰富，富含钾、维生素C、叶酸、锌、硒，及纤维质等营养素。', ' '))
veg_all_data.append(('椰菜',
                     '椰菜一般指卷心菜。卷心菜能提高人体免疫力，预防感冒，保障癌症患者的生活质量。在抗癌蔬菜中，卷心菜排在第五位。'
                     '新鲜的卷心菜中含有植物杀菌素，有抗菌消炎的作用，对咽喉疼痛、外伤肿痛、蚊叮虫咬、胃痛、牙痛有一定的作用。'
                     '卷心菜中含有某种溃疡愈合因子，对溃疡有着很好的治疗作用，能加速创面愈合，是胃溃疡患者的有效食品。', ' '))
veg_all_data.append(('椰菜花',
                     '椰菜花含有蛋白质、脂肪、磷、铁、胡萝卜素、维生素B1、维生素B2和维生素C、维生素A等，是蔬菜中维生素C含量最高的一种。'
                     '古代西方人还将椰菜花推崇为“天赐的良药”和“穷人的医生”。椰菜花性凉，味甘，助消化，增食欲，生津止渴其性寒凉，'
                     '易伤脾胃，务必加寒必温缓和药效。在《时代》杂志推荐的十大健康食品中椰菜花名列第四。', ' '))
veg_all_data.append(('油麦菜',
                     '油麦菜，色泽淡绿、质地脆嫩，口感极为鲜嫩、清香、具有独特风味，含有大量维生素A、维生素B1、维生素B2和大量钙、'
                     '铁等营养成分，是生食蔬菜中的上品，有“凤尾”之称。油麦菜的营养价值略高于生菜，而远远优于莴笋。油麦菜的吃法与生菜相同，'
                     '可清炒或作汤，烹饪时间宜短不宜长。吃起来嫩脆爽口，受人欢迎。', ' '))
veg_all_data.append(('玉豆',
                     '玉豆亦称青刀豆、四季豆、芸豆、小刀豆等，一年生缠绕性草本植物，是菜豆中圆荚类型的品种，有蔓生和矮生两种类型，'
                     '含有丰富的糖类、蛋白质和脂肪，具有较高的营养价值。原产于中南美洲，我国南方各省春、秋两季可栽培。其嫩荚可以炒食，'
                     '还可以做成腌制品及罐头等。玉豆营养丰富，嫩荚含蛋白质6%，还有丰富的碳水化合物、维生素。', ' '))
veg_all_data.append(('玉米',
                     '玉米是重要的粮食作物和饲料作物，也是全世界总产量最高的农作物，其种植面积和总产量仅次于水稻和小麦。'
                     '玉米一直都被誉为长寿食品，含有丰富的蛋白质、脂肪、维生素、微量元素、纤维素等，具有开发高营养、高'
                     '生物学功能食品的巨大潜力。玉米味道香甜，可做各式菜肴，如玉米烙、玉米汁等，它也是工业酒精和烧酒的主要原料。', ' '))
veg_all_data.append(('芫茜',
                     '芫茜，一种蔬菜，又称为野香草、假香荽。中医认为，香菜辛温香窜，内通心脾，外达四肢，辟一切不正之气，为温中健胃'
                     '养生食品。日常食之，有消食下气，醒脾调中，壮阳助兴等功效，适于寒性体质、胃弱体质以及肠腑壅滞者食用，可用来治疗胃'
                     '脘冷痛、消化不良、麻疹不透等症状。 香菜含有丰富的矿物质及维生素,常少量食用，对身体有益。', ' '))
veg_all_data.append(('园椒',
                     '青圆椒又名青柿子椒、菜椒、甜椒等。它的维生素C含量是番茄含量的7~15倍，在蔬菜中占首位。它特有的味道有刺激唾液分泌的作用;'
                     '所含的辣椒素能增进食欲，帮助消化，防止便秘。因此，成为餐桌上的常见菜肴。', ' '))
veg_all_data.append(('云南小瓜',
                     '云南小瓜又名角瓜、西葫芦。营养价值：西葫芦含有较多维生素C、葡萄糖等营养物质，尤其是钙的含量极高。不同品种每100g'
                     '可食部分(鲜重)营养物质含量如下：蛋白质0.6－0.9g，脂肪0.1－0.2g，纤维素0.8－0.9g，糖类2.5－3.3g，胡萝卜素'
                     '20－40微克，维生素C2.5－9毫克，钙22－29毫克。', ' '))
veg_all_data.append(('紫椰菜',
                     '紫椰菜一般指紫甘蓝。紫甘蓝含有多种的营养物质，尤其是紫甘蓝中含有的多种维生素都是非常丰富的，例如维生素C、维生素'
                     'E、维生素B族等都是非常丰富的。紫甘蓝含有丰富的硫元素，这种元素的主要作用是杀虫止痒，对于各种皮肤瘙痒，湿疹等疾患'
                     '具有一定疗效，因而经常吃这类蔬菜对于维护皮肤健康十分有益。', ' '))
VegetableModelDao.add_many_data(veg_all_data)

print('初始数据插入完毕，开始爬虫')
csv_save_path = 'csv_save_path/'

""" 爬虫部分 """
# 请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/57.0.2987.133 Safari/537.36'
}

# 初始化访问地址
base_url = "http://www.jnmarket.net/import/list-1_"
offset = 1

# 获取总的页面数
url = base_url + str(offset) + ".html"
response = requests.get(url, headers=headers)
html = response.text
selector = etree.HTML(html)
page_num = selector.xpath('/html/body/div[4]/div/div[2]/div[2]/div[2]/a[4]/text()')[0]
print(page_num)
response.close()

# 爬取数据并添加到字典中
while offset <= int(page_num):
    url = base_url + str(offset) + ".html"
    print(url)
    response = requests.get(url, headers=headers)
    html = response.text
    selector = etree.HTML(html)

    spider_date = selector.xpath('//table/tbody/tr/td[5]/text()')  # 蔬菜名字
    spider_name = selector.xpath('//table/tbody/tr/td[1]/text()')  # 蔬菜产地
    spider_place = selector.xpath('//table/tbody/tr/td[2]/text()')  # 蔬菜价格
    spider_price = selector.xpath('//table/tbody/tr/td[3]/text()')  # 日期
    response.close()

    # 格式化日期
    for i in range(len(spider_date)):
        time_struct = time.strptime(spider_date[i], "%y-%m-%d")
        spider_date[i] = time.strftime("%Y-%m-%d", time_struct)

        path = pathlib.Path(csv_save_path + spider_name[i] + '.csv')

        # 如果不存在相应文件的话，创建该文件
        if not path.is_file():
            with open(path, 'w', encoding='utf8') as f:
                writer = csv.writer(f)
                csv_head = ['name', 'date', 'price', 'place']
                writer.writerow(csv_head)

        # 每爬取一个页面就写入csv文件中
        with open(path, 'a+', encoding='utf8') as f:
            writer = csv.writer(f)
            writer.writerow((spider_name[i], spider_date[i], spider_price[i], spider_place[i]))

    offset += 1

    # 每爬取20个页面就休眠5秒
    if offset % 20 == 0:
        time.sleep(5)

"""爬虫结束"""

# 将蔬菜数据录入数据库
start_t = time.time()
for root, dirs, files in os.walk(csv_save_path):
    for file in files:
        veg_name = file.split('.')[0]
        veg_id = VegetableModelDao.get_id_by_name(veg_name)
        if veg_id is not None:
            uri = root + file
            veg_data = pd.read_csv(uri)
            VegetablePriceModelDao.add_many_data(veg_id, veg_data)
stop_t = time.time()
print(stop_t - start_t, 's')
